Contextual Equivalences in Call-by-Need and Call-By-Name Polymorphically Typed Calculi (Preliminary Report)
نویسندگان
چکیده
This paper presents a call-by-need polymorphically typed lambda-calculus with letrec, case, constructors and seq. The typing of the calculus is modelled in a system-F style. Contextual equivalence is used as semantics of expressions. We also define a call-by-name variant without letrec. We adapt several tools and criteria for recognizing correct program transformations to polymorphic typing, in particular an inductive applicative simulation. 1998 ACM Subject Classification F.4.2 Grammars and Other Rewriting Systems, F.3.2 Semantics of Programming Languages, D.3.1 Formal Definitions and Theory
منابع مشابه
Contextual Equivalence in Lambda-Calculi extended with letrec and with a Parametric Polymorphic Type System
This paper describes a method to treat contextual equivalence in polymorphically typed lambda-calculi, and also how to transfer equivalences from the untyped versions of lambda-calculi to their typed variant, where our specific calculus has letrec, recursive types and is nondeterministic. An addition of a type label to every subexpression is all that is needed, together with some natural constr...
متن کاملReasoning about Contextual Equivalence: From Untyped to Polymorphically Typed Calculi
This paper describes a syntactical method for contextual equivalence in polymorphically typed lambda-calculi. Our specific calculus has letrec as cyclic let, data constructors, case-expressions, seq, and recursive types. The typed language is a subset of the untyped language. Normal-order reduction is defined for the untyped language. Since there are less typed contexts the typed contextual pre...
متن کاملThe Call-by-Need Lambda Calculus (Unabridged)
We present a calculus that captures the operational semantics of call-by-need. We demonstrate that the calculus is connuent and standardizable and entails the same observational equivalences as call-by-name lambda calculus.
متن کاملCorrectness of Copy in Calculi with Letrec, Case, Constructors and Por
This paper extends the internal frank report 28 as follows: It is shown that for a call-by-need lambda calculus LRCCPλ extending the calculus LRCCλ by por, i.e in a lambda-calculus with letrec, case, constructors, seq and por, copying can be done without restrictions, and also that call-by-need and call-by-name strategies are equivalent w.r.t. contextual equivalence.
متن کاملWhat are Polymorphically - Typed Ambients ? * * * PRELIMINARY DRAFT
The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code [CG98]. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in which such a calculus can be said to be polymorphically typed, and design accordingly a polymorphic type system for it. Our t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014